Method of producing solutions to a concrete multicriteria optimisation problem

ABSTRACT

The method in accordance with the invention is a method according to which several decision criteria and a preference relation based on these criteria between the solutions of the problem are established. Modeling of the problem to be solved is established by obtaining solutions constructively via a tree search process. A tree search strategy has been established for each criterion. The strategies are alternated so as to find solutions of increasing quality; the strategies are chosen dynamically as a function of the last solution found. The alternation of strategies continues until a stopping condition is satisfied. The last solution found before the satisfaction of the stopping condition is exhibited as the solution to the problem set.

The present invention pertains to a method making it possible to producesolutions to a concrete problem of multicriterion optimization.

Numerous industrial problems relate both to multicriterion decisionmaking and to optimization. On the one hand, tree search techniques makeit possible to solve a large number of problems of combinatorial orcontinuous optimization in the mono-objective case. Multicriteriondecision aids, on the other hand, offer tools and procedures formodeling the preferences of a decision maker and for comparing thesolutions of a multicriterion problem. However, numerous optimizationsystems would require multicriterion modeling of the preference relationbetween the solutions, which would allow better modeling of the problemencountered and would make it possible to respond thereto with solutionsof better quality. Likewise, within the context of problems tackled bymulticriterion decision aid, the set of solutions is sometimes too vastand it is impossible to compare all the elements thereof.

The invention is more especially concerned with the use of treeprocedures for solving multicriterion optimization problems. In themono-objective case, the objective function determines in large part theway in which the search tree is constructed and the strategy adopted forits exploration. The choice of these elements which constitute astrategy for searching for solutions has a large influence on theeffectiveness of the solution process. In the multicriterion case, onthe other hand, it is often very difficult to determine a searchstrategy enabling a problem to be solved effectively in most cases.

The present invention is aimed at a method making it possible to producesemiautomatically or, preferably, automatically, solutions to amulticriterion optimization problem, which are applicable in aneffective manner in most cases, that is to say capable of acceleratingthe convergence of the search process to an optimal solution.

The method in accordance with the invention is a method according towhich:

-   -   several decision criteria and a preference relation based on        these criteria between the solutions of the problem are        established;    -   a modeling of the problem to be solved is established        and it is characterized by the fact that    -   solutions are obtained constructively via a tree search process;    -   a tree search strategy has been established for each criterion;    -   the strategies are alternated so as to find solutions of        increasing quality;    -   the strategies are chosen dynamically as a function of the last        solution found;    -   the alternation of strategies continues until a stopping        condition is satisfied;    -   the last solution found before the satisfaction of the stopping        condition is exhibited as the solution to the problem set.

According to another characteristic of the invention, the preferencerelation between the solutions of the problem is modeled by anaggregation function H, which is, preferably, a Choquet integral.

According to yet another characteristic of the invention, following eachsearch, the value of an indicator is determined for each criterion as afunction of the last solution found and this indicator makes it possibleto determine the strategy which will be used during the next search.

According to yet another characteristic of the invention, the indicatorused for the dynamic choice of a strategy is the indicator of maximumutility.

According to yet another characteristic of the invention, the indicatorused for the dynamic choice of a strategy is the indicator of meanutility.

According to yet another characteristic of the invention, localconstraints are set on the various searches. Advantageously, the localconstraint set for a search on a criterion is a constraint of improvingthis criterion and this constraint is set at each search. Alternatively,the local constraint set for a search on a criterion is a constraint ofimproving this criterion and this constraint is set only when acriterion is selected several times in succession to guide the search,starting from the second consecutive search on this criterion.

According to yet another characteristic of the invention, the strategiesassociated with the various criteria, the local constraints on thesearches and the stopping condition in the search process are used tofind an optimal solution to the problem and to prove the optimality ofthis solution.

According to yet another characteristic of the invention, the modelingof the problem and the search for solutions are carried out in aconstraints solver.

The present invention will be better understood on reading the detaileddescription of a mode of implementation, taken by way of nonlimitingexample.

The method of the invention is therefore a method for solvingmulticriterion optimization problems which is based on the alternatingof searches according to various mono-objective strategies (one percriterion). In order for the method to be effective, the choice of astrategy at a moment of the search must be performed adaptively as afunction of the data of the problem and of the state of the search.

Firstly, the concepts which are important for the understanding of themethod of the invention are defined, as are the notation and terminologyused in the subsequent description.

An optimization problem is defined by a set of decision variables eachtaking their value from among a set called the domain, by a set of logicrelations, these variables restricting the combinations of values thatare allowed, called constraints. Finally, this problem is defined by anobjective function which characterizes the quality of a solution (oneoften speaks of a cost function in the case of a minimization problemand of a profit function or utility function if dealing with amaximization problem). A solution to such a problem is an assignment ofa value from its domain to each decision variable which satisfies allthe constraints. The set of optimal solutions, in the case of aminimization problem, corresponds to the solutions having the smallestvalue of the cost function among the set of existing solutions. Thetreatment of an optimization problem consists in searching for the lowcost solutions, if possible optimal, or as the case may be in provingthe absence of a solution.

When the domains of the variables are finite sets of values, the problemis a combinatorial optimization problem. When the domains are intervalsof the set of reals, the problem is a continuous optimization problem.For a given optimization problem, the solution search space correspondsto the space formed by the Cartesian product of the domains of thevariables. The solution space corresponds to the set of solutions of theproblem.

Optimization problems are commonly encountered in most branches ofindustry and services. An exemplary problem consists in delivering acertain number of orders to geographically dispersed customers at leastcost. The decision variables of the problem are the dates and times ofdelivery of these goods. The constraints describe the transport network,the timetables of availability of the customers to receive the goods,the capacity of the delivery vehicles, the timetables of the employeeswho make the deliveries. The cost function to be minimized is calculatedas a function of the distance traveled in satisfying the orders.

Transport problems are encountered in extremely varied domains, amongwhich are telecommunications, aeronautics, defense. The other largeclasses of optimization problems are, among others, the problems ofscheduling (scheduling of a production line, sequencing of the tasksdealt with by a processor), problems of configuration, problems of theuse of time and planning, problems of partitioning.

Multicriterion decision aid techniques are aimed at modeling thepreferences of an expert in the most faithful manner possible. Suchmodeling then allows the construction of suitable tools capable ofassisting or of replacing a decision maker with regard to complexproblems. Solving a multicriterion decision problem consists in modelingthe way in which an expert or a decision maker ranks a set of potentialsolutions (each called an “alternative”) described by a set ofattributes or viewpoints. In order to perform the ranking (or evensimply the choice of an alternative), the “performance” (level ofsatisfaction) of the various possible alternatives is evaluatedaccording to each of the viewpoints deemed to be relevant for theproblem. The modeling of the preferences of an expert is carried outwith the aid of a function aggregating the performance of the variousalternatives. Two approaches are used: the “Compare then Aggregate” (CA)approach consists firstly of a pairwise comparison, criterion bycriterion, of the performance of the alternatives, then of anaggregation of these comparisons so as to establish the preferencerelation; the “Aggregate then Compare” (AC) approach summarizes thevalue of an alternative through an overall score calculated on the basisof the performance of an alternative with regard to the variouscriteria. The best alternative in the sense of the preferences of theexpert is called the preferred solution.

For example, we consider various solutions to the abovementioned problemof delivering goods. The cost of the solution making it possible todeliver the goods may not be the sole criterion of choice. We may alsowish to minimize the duration of delivery (the cheapest solution is notnecessarily the fastest), give priority to more important orders,minimize the number of deliveries that are late or the global delay whenit is impossible to keep to the given timescales. A decision maker maythen prefer a solution which offers a compromise between the variouscriteria to the minimum cost solution.

Multicriteria decision aid techniques make it possible to rank a certainnumber of known alternatives (for example, for the choice of a site forthe installation of a nuclear power station). Generally, they make itpossible to evaluate situations or the suitability of individuals(evaluation of the relevance of the response to a tender for offers,evaluation of students, etc.).

The problems that the invention has to model and solve aremulticriterion optimization problems characterized by the fact that thesolution space is modeled, as in a classical optimization problem, by aset of decision variables and of constraints, and that the preferencerelation between the solutions is modeled by a multicriterion function.Solving a multicriterion optimization problem therefore amounts tofinding a preferred solution to the problem, or at least a solution ofgood quality. Within the context of multicriterion optimizationproblems, an optimal solution is therefore a preferred solution. It isin general impossible to compare all the solutions of an optimizationproblem, and it may be noted that the introduction of multiple criteriaoften renders the search for an optimal solution even more complex. Theinvention therefore proposes a method making it possible to take accountof the specifics of multicriterion optimization problems and to allowtheir solution in reasonable times. This method is based on the use oftree procedures for searching for solutions to the problem.

The search for a solution to an optimization problem may be done invarious ways. One of the most widespread solution procedures is theseparate-evaluate (branch and bound) process which makes it possible toperform an implicit traversal of the solution space with the aid of asearch tree.

The principle of the construction of a search tree is as follows: ateach node of the tree, a parent subproblem is divided into simplerdaughter subproblems until the subproblems to be solved are trivial. Thedivision into subproblems (called separation) is carried out in such away that a solution to a daughter subproblem is a solution to the parentsubproblem and that the union of the daughter subproblems is equivalentto the parent subproblem. The main problem is the node at the root ofthe tree. Any solution of a subproblem is therefore a solution of themain problem. When a subproblem has no solution, the node correspondingto this subproblem is pruned from the search tree. If all the daughtersof a parent subproblem have been pruned, then there exists no solutionto the parent subproblem and it may in turn be pruned. The separationrule gives the way in which the nodes are separated (that is to say theway in which a parent subproblem is divided into daughter subproblems).For example, we consider a delivery problem with a single vehicle, and pdecision variables t₁, . . . , t_(p) which represent the delivery datesof the next p orders. If we decide to make the deliveries as quickly aspossible, then only the sequencing of the deliveries is important: itmakes it possible to determine in an exact manner the earliest date atwhich each delivery is made. A solution may therefore be obtained bydetermining for every pair i,j, i<j, whether t_(i)<t_(j) or t_(i)>t_(j).At a node of the tree corresponding to the subproblem P we thereforeselect a pair i,j of variables for which this disjunction has not yetbeen solved and we separate P into P₁={P∩(ti<tj)} and P₂={p∩(ti≧tj)}.

There exist various ways of searching for solutions in a search tree asa function of the order in which the nodes are constructed. Given asearch tree under construction, it is necessary to choose the next nodeto be separated and one of the separation decisions which may be appliedthereto. The component which determines the next node to be separated iscalled the exploration strategy. The exploration strategy most commonlyemployed is the “depth first” strategy: each time a node is created, itis separated. In this strategy the second daughter of a node is exploredonly when all the descendants of the first daughter have been explored.This strategy is beneficial since it makes it possible to find solutionsvery rapidly and can be implemented easily with the aid of a stack. Asecond strategy is the “width first” strategy where all the nodes of alevel of the tree are separated before separating the next ones. Inpractice this strategy is never used since it consumes too much memory.Finally, a third strategy is the “best first” strategy where anevaluation function allocates a score to the nodes that have not yetbeen separated; the node having obtained the best score is then selectedfor separation. The choice of which separation decision is applied to anode determines the order in which these separations are sequenced (inthe example above, the order in which the pairs i,j are chosen, andwhether node P₁={P∩(ti<tj)} is created before node P₂={P∩(ti≧tj)} orvice versa). This order, generally chosen empirically, is often given bya heuristic criterion. Its aim is in general to precipitate thediscovery of a new solution or, conversely, to more quickly detectcontradictions that prove that a node does not admit of a solution.

In optimization, the “branch and bound” principle is used: when asolution is found, only the nodes that may lead to a better solution areseparated. At each node, the evaluation function makes it possible todetermine a bound (lower in minimization) of the objective function forthe corresponding subproblem: this is the best value that it will bepossible to obtain for this subproblem. If this bound is of worsequality than the best solution already found, the node is pruned. Thisprocess makes it possible to find only solutions of increasing qualityand to avoid needlessly traversing large parts of the search tree. Ithas been proven that the optimal solution has been obtained when we nolonger find any solution that improves the objective.

In conclusion, the search for a solution to an optimization problem in asearch tree depends on the separation rule, on the evaluation function,on the exploration strategy and on a heuristic criterion. The separationrule, the exploration strategy and the heuristic criterion determine theorder in which the nodes will be constructed and therefore the order inwhich the solutions will be found. The combination of these variouselements is called the search strategy. According to the objectivefunction or the criterion to be optimized it is important to adopt asearch strategy making it possible to rapidly find solutions of goodquality so as thereafter to be able to prune large parts of the searchtree that cannot lead to better solutions. In this sense, in thesubsequent description, a criterion will be said to “guide” a searchwhen it is this criterion that determines the search strategy adopted.

A search strategy makes it possible to steer the search as rapidly aspossible towards solutions of good quality (and if possible towards anoptimal solution). Finding a good solution rapidly then makes itpossible, according to the “branch and bound” principle, to prune largeparts of the search tree that cannot lead to better solutions. In themulticriterion case, a strategy making it possible to rapidly obtainsolutions of good quality with regard to one criterion may be veryineffective for another one. Thus, the phenomena of compensation andmore generally of interaction between criteria often make it verydifficult to define a global strategy allowing a problem to be solvedeffectively in all cases of interest.

Numerous procedures have been developed for solving multicriterionoptimization problems. Nevertheless few of them propose combining theeffectiveness of tree procedures with the capacity to model preferencesof multicriterion decision aid techniques. Among these approaches theinvention has adopted the formalism of CP-nets, the formalism offlexible constraints, an approach for solving multicriterion schedulingproblems and the PBS formalism.

Among the various approaches, CP-nets (C. Boutilier et al., “AConstraint-Based Approach to Preference Elicitation and DecisionMaking”, Working Papers of the AAAI Spring Symposium on QualitativePreferences in Deliberation and Practical Reasoning, Jon Doyle andRichmond H. Thomason editors, pp. 19-28, Menlo Park, Calif., 1997)propose a formalism where the preferences are modeled by a set of ruleswhich seem, however, to give rise to problems of complexity both duringthe modeling of the preference relation between the solutions and duringthe search for solutions (a very large number of rules seem to benecessary and difficult to obtain by an expert). The problems ofmodeling preferences are also tackled via the use of flexibleconstraints (S. Bistarelli et al., Semiring-Based CSPs and Valued CSPs:Frameworks, Properties, and Comparison, CONSTRAINTS No. 4, 199-240,1999). This approach is deemed to be especially beneficial when dealingwith overconstrained problems and when seeking solutions violating theseconstraints as little as possible. However, the multicriterion approachis more suited for the modeling of preferences in the presence ofmultiple criteria. In both cases (CP-nets and flexible constraints), theproblem of the search for solutions remains complex and no specificapproach has been proposed.

A more pragmatic approach is adopted in (F. Focacci and D. Godard, “APractical approach to multi-criteria optimization problems in constraintprogramming”, Proceedings of the Fourth International Workshop onIntegration of AI and OR Techniques in Constraint Programming forCombinatorial Optimisation Problems (CP-AI-OR'02), pp. 65-75, N. Jussienand F. Laburthe editors, Le Croisic, France, 2002) for solving ascheduling problem with three objectives aggregated by a weighted sum.The objective of the approach is to produce a good quality solution in alimited time.

Thus, each time a solution is found, the procedure imposes either asimultaneous improvement of all the objectives, or an improvement of oneobjective and, to some extent, the nondegradation of the otherobjectives (it is possible, for example, to tolerate a degradation of10%). According to the authors, the best results are obtained bysuccessively using the various modes of posing improvement constraintsfor various objectives. The approach is beneficial since, even thoughthe same search strategy is used for all the searches, it alreadyhighlights the benefit of alternating the optimizations with regard tothe criteria of the problem so as to improve a global objective.Nevertheless, the procedure of alternating the various searches appearsto have been designed empirically and to be more especially dedicated tothe scheduling problem. One also notes the benefit of the constraints onthe criteria which make it possible to accelerate the search but whichmay also delete interesting solutions.

Work on programming based on preferences in combinatorial optimizationproblems has stemmed from the nonmonotonic reasoning. This allows themodeling of preferences (usually in the form of rules) between decisionswhich will have to be taken in the course of the search for solutions(for example, dealing with one task before another in scheduling). Thesepreferences are then used to determine the order in which the decisionsare taken during the search, which is carried out by a constraintssolver. Such work has culminated in the design of a procedure called“Preference Based Search” (PBS). PBS was developed and implemented forthe solving of scheduling problems and of configuration problems. Ituses the preferences on the decisions both to guide the search and toreduce the search space by deleting nonpreferred solutions. The mostrecent developments on PBS generalize the procedure to take account ofthe preferences on criteria (U. Junker, “Preference-based search andmulti-criteria optimization”, Proceedings of the Fourth InternationalWorkshop on Integration of AI and OR Techniques in ConstraintProgramming for Combinatorial Optimization Problems (CP-AI-OR'02), pp.34-47, N. Jussien and F. Laburthe editors, Le Croisic, France, 2002).The formalism is extended so as to be able to express the fact that acriterion c₁ is preferred to another c₂ (c₁ πc₂) or that a set ofcriteria must be balanced (c₁≈c₂). The balance between two criteria isestablished by virtue of a “lexi-max” type operator (see H. Moulin,Axioms of Cooperative Decision-Making. Cambridge Univ. Press, 1988). Tosearch for solutions, a PBS master program selects criteria on the basisof the preferences of the decision maker and returns them as objectivesto a constraints solver. This algorithm actually performs severalsuccessive lexicographic optimizations for the various orders ofcriteria permitted by the preferences. Thus, by using the principle ofthe “ε-constraints” method (K. M. Miettinen, Nonlinear multiobjectiveoptimization, edition Kluwer academic publisher, 1999), PBS makes itpossible to exhibit the whole set of preferred solutions of the problem.PBS uses the alternation of optimizations on the criteria to traversethe search space and exhibit the whole set of preferred solutions (andnot to improve a solution). Specifically, the formalism used for themodeling of the preferences has the advantage of being relatively simplebut it does not allow a fine representation of the preferences (inparticular of the compensation phenomena). The method must thereforereturn a large number of solutions to the decision maker who will thenhave to make a choice among them. This may be desirable in certain cases(for searching for a trip on the Internet for example), but especiallyinconvenient within an automatic decision context (automatic managementof aerial conflicts, evaluation of the threat and protection of avessel).

The invention therefore proposes an approach dedicated to the search forsolutions within the context of the solving of multicriterionoptimization problems.

The approach proposed for the guidance of a multicriterion search is todefine a guidance strategy adapted by criterion and to employ thesevarious strategies for the search for multicriteria solutions ofincreasing quality. The idea is to alternate monocriteria searches usingthese strategies while imposing an improvement of the globalsatisfaction level with each new solution until a given stoppingcondition is satisfied (for example, until the optimality of the lastsolution found has been proven).

At the end of a search on a criterion, we determine the criterion which“will guide” the next search as a function: of the last solution found;of the possible improvements in each criterion; and of the preferencerelation between the solutions. It is as it were the criterion withregard to which improvement is of most benefit.

At each search, to attempt to further increase the speed of convergenceto a good solution, it is moreover possible to impose improvements onthe criteria by a set of additional constraints, which is valid only forthe time of a search. This type of constraint will be called constraints“local” to a search. These “ephemeral” constraints will be added to theconstraint of improving the global quality of the solutions sought. Italso makes it possible to express the fact that it is not permitted todegrade a criterion by more than 10% in the course of a search, aspresented in the Focacci-Godard 2002 article. As in this article, theseconstraints must be employed with precaution, since they may delay, oreven prevent, the discovery of good solutions (and more particularly ofoptimal solutions).

The process terminates when a stopping condition defined by the user hasbeen satisfied (for example, when a search does not manage to find anyimproving solution).

The alternating of the various strategies thus makes it possible totraverse various interesting regions of the search space while theconstraints added to each solution found make it possible to converge toan optimal solution.

The process described in the above steps, dedicated to searching forsolutions to a multicriterion problem has been dubbed MCS(Multi-Criteria Search).

From an algorithmic point of view, the principles set out above may betranslated as follows: MCS u := (u₁,...,u_(n)), s* := nil, s := nil, c:=0, local := false while not(<checkTermination>(local,s*,s,u,c)) c :=<getNextCriterion>(s*,u), local := <setLocalConstraints>(s*,u,c), s :=maximize(u[c], getStrategy(c)), if (s ≠ nil) s* := s endif endwhilereturn s* end

The criteria to be maximized are represented by the vector of variablesu=(u₁, . . . , u_(n)), the best solution found by the algorithm isstored in the variable s* and the variable s is used for storingintermediate solutions. The variable “c” contains the index of thecriterion on which a search will be launched and the variable “local”indicates whether a local constraint has been set during the last searchfor solutions. The chevrons (<checkTermination>, <getNextCriterion>,<setLocalConstraints> indicate the characteristic functions of the MCSalgorithm which will have to be defined by the user as a function of hisproblem. The algorithm operates in the following manner: a “while” loopis repeated as long as the stopping condition contained in the function<checkTermination> has not been satisfied. At each iteration, thefunction <getNextCriterion> determines the criterion which will guidethe next search. One or more local constraints may be set by thefunction <setLocalConstraints> (in this case, the function returns theboolean value “true”). The search for solutions optimizing the criterion“c” is performed by the function “maximize” as a function of thestrategy defined for this criterion, which is given by getStrategy (c).The function “maximize” searches only for solutions globally preferredto “s*”. “maximize” returns “nil” if no solution has been found,otherwise, the variable “s*” is updated.

MCS gives the frame of a generic algorithm, that can be customized as afunction of the problems tackled. This method may therefore be regardedas a “framework” of which instances will be produced by defining thevarious functions of which it is composed. In the subsequentdescription, we use a set {overscore (u)}₁, . . . , {overscore (u)}_(n)of values called upper bounds of the performance on each criterion. Fora criterion iε1, . . . , n, {overscore (u)}_(i) indicates the maximumvalue that can be obtained on the criterion i in an optimal solution.These values are therefore regularly updated in tandem with the searchfor solutions, either by virtue of functions which calculate an upperbound for each criterion, or when a monocriterion search proves that ithas attained an optimum for the criterion that it optimizes. The detailsof the content of the various components of this “framework” give anappreciation of the variety of the algorithms which may be constructedin this way.

The function maximize(u[c], getStrategy(c)) launches a tree search forsolutions according to a strategy specified for a selected criterion,denoted c. In all cases, the optimization is carried out according tothe “branch and bound” principle by pruning the branches of the searchtree that cannot lead to a more satisfactory solution both in the senseof the global preference relation and on the criterion c. One thereforedefines a different search strategy for each criterion. The aim of thisis to be able to find solutions of good quality on a given criterion.The strategy associated with a criterion “c” as fast as possible wouldtherefore, in theory, be the one which would be used if the problem tobe solved were the optimization of this criterion. For the same problem,it is possible to define a large number of search strategies by definingseveral separation functions or by using various exploration strategies.Depending on the complexity and the time constraints of the problem, itmay also be beneficial to employ partial search strategies (a partialsearch strategy does not guarantee the attaining of an optimum in theselected criterion). For example, for each monocriterion search, it willbe possible: to search only for a solution and not an optimal solution;to specify a time contract; to use a strategy that combines tree searchand local search or even to launch a sequence of several differentsearches.

The definition of the function <getNextCriterion> determines the way inwhich the searches on the criteria follow one another. Of course, it ispossible to program this function so that the algorithm strings thesearches together always in the same order. However, it is morebeneficial to construct a function which takes account of theinformation available at the moment of the search where it is invoked soas to make a dynamic choice. This information is, for example, the lastsolution found, the upper bounds of the performance that can be attainedon each criterion, the importance of each criterion in the preferencerelation. It may make it possible to determine the criterion on which itis most beneficial to launch a search.

For example, we consider a solution s*, we denote by (u₁*, . . . ,u_(n)*) the representation of s* on the n criteria of the problem and{overscore (u)}₁, . . . , {overscore (u)}_(n) the maximum values thatcan be attained on these criteria. If we make the assumption that asearch on a criterion i would make it possible to attain the maximum onthis criterion without affecting the others, we can compare the nsolutions represented over the space of criteria: (u₁*, . . . ,{overscore (u)}_(i), . . . , u_(n)*), i=1, . . . , n. The preferredsolution then indicates the criterion with regard to which improvementis of most benefit.

The term local constraint is employed here to denote a constraint whichwill be valid only for the time of a search, unlike the constraints ofthe problem which must be satisfied constantly. The addition of one orof several local constraints is aimed at constraining a search toexplore parts of the search space that are deemed to be particularlyinteresting at a given moment. Stated otherwise, constraining the searchto produce a solution having a particular characteristic which ought tomake it a more satisfactory solution than those already found.

For example, if the heuristic for choosing criteria has determined thatit was more beneficial to improve the value u_(c)* of the last solutionfound according to the criterion “c”, adding a constraint “u_(c)>u_(c)*”or even “u_(c)≧1.1×u_(c)*” may make it possible to more rapidly find asolution of better quality than the solution found. Specifically, thechoice of a strategy dedicated to the optimization of a particularcriterion may be more effective but it does not guarantee that solutionsimproving this criterion will be found by priority.

The use of local constraints may make it possible to accelerate theconvergence of the algorithm to a good quality solution but it also hasa few disadvantages, especially if one is searching for an optimalsolution to the problem: when a search which has been “overconstrained”by a local constraint does not find any solution, this does notnecessarily imply that the optimal solution has been attained but thatthere is no better solution satisfying the local constraint. By usingthis type of constraint we therefore incur the risk of constructingalgorithms which do not guarantee that an optimal solution will befound. The function <setLocalConstraints> returns a boolean which may betaken into account in the stopping condition and which makes it possibleto indicate whether a local constraint has been set.

The algorithm terminates its run when the conditions contained in thefunction <checktermination> are satisfied or when the execution timeallowed for the search has been exceeded (if a time contract has beenspecified). The stopping conditions of the algorithm may for example be:“the last search has not found any solution (s=nil)”, “the last searchhas not found any solution although no local constraint was set((s=nil)&(not(local)))”.

The MCS “framework” relies on common principles shared by multicriterionoptimization problems and therefore remains a relatively general contextfor defining algorithms for searching for solutions. In this section wepresent a few tools for the use of the method: firstly within thecontext of a problem where the preferences are modeled by an aggregationfunction to be maximized; then in the case where we desire to find anoptimal solution to the problem.

A few exemplary heuristics for choosing criteria when the modeling ofthe preferences is carried out according to the “Aggregate then Compare”approach will now be presented.

The “Aggregate then Compare” (AC) approach calculates a global score foreach solution by aggregating the performance of the solutions on eachcriterion. Within the MAUT context (MultiAttribute Utility Theory), themodeling of the preferences of the decision maker is carried out byvirtue of an aggregation function H, which aggregates the values of thecriteria u₁, . . . , u_(n) and calculates the global evaluation of asolution. Let a and b be two solutions. We denote by u₁ ^(a), . . . ,u_(n) ^(a) and u₁ ^(b), . . . , u_(n) ^(b) the performance of thesolutions a and b with regard to the criteria of the problem. Thefunction H is such that, for any pair of solutions a and b, a preferredto b is equivalent to H(u₁ ^(a), . . . , u_(n) ^(a))>H(u₁ ^(b), . . . ,u_(n) ^(b)).

Within this context, we propose two heuristics for choosing criteria,each based on the construction of an indicator. These indicators aredependent on the last solution found s*, on its performance u₁*, . . . ,u_(n)* on each criterion and the maximum values {overscore (u)}₁, . . ., {overscore (u)}_(n) that may be attained on these criteria. In bothcases, the indicator relies on the assumption that a search over acriterion will make it possible to find a solution of better qualitywith regard to this criterion and of equal quality with regard to theother criteria. We write u*=(u₁*, . . . , u_(n)*) and {overscore(u)}=({overscore (u)}₁, . . . , {overscore (u)}_(n)).

Indicator of maximum utility: for any criterion iε{1, . . . ,n} theindicator of maximum utility, denoted χ_(i)(H)(u*, {overscore (u)}), isthe value χ_(i)(H)(u*, {overscore (u)})=H(u₁*, . . . , u*_(i−1),{overscore (u)}_(i), u*_(i+1), . . . , u_(n)*). This is the global levelof satisfaction which would be attained if a search on criterion i wouldmake it possible to attain a solution of maximum level of satisfactionwith regard to this criterion without degrading the satisfaction of theother criteria with respect to the previous solution.

Indicator of mean utility: the value {overscore (u)}_(i) is an upperbound of the maximum value that can be attained on criterion i. In themajority of optimization problems, it is rather improbable that it isalways possible to find a solution which makes it possible to attainthis value, especially without degrading the performance with regard tothe other criteria. In certain cases it may therefore be more judiciousto calculate the mean value of the function H for values of thecriterion i varying between u_(i)* and {overscore (u)}_(i). This value,denoted ω_(i)(H) (u*, {overscore (u)}) may be obtained by calculatingthe integral${{\omega_{i}(H)}\left( {u^{*},\overset{\_}{u}} \right)} = {\frac{1}{{\overset{\_}{u}}_{i} - u_{i}^{*}}{\int_{x = u_{i}^{*}}^{{\overset{\_}{u}}_{i}}{{H\left( {u_{1}^{*},K,u_{i - 1}^{*},x,u_{i + 1}^{*},K,u_{n}^{*}} \right)}\quad{{\mathbb{d}x}.}}}}$

A heuristic for choosing criteria constructed on the basis of this typeof indicator returns the index of the criterion which obtained thehighest value of the indicator.

The Choquet integral (M. Grabisch, “The application of fuzzy integralsin multicriteria decision making”, European Journal of OperationalResearch, 89, 1996, pp. 445-456) is a very general aggregation function,which contains as particular case the usual aggregation operators suchas the minimum, the maximum, the median, the weighted mean and theweighted ordered mean (or ordered weighted average OWA). It makes itpossible to model not only the importance of the criteria, but also theinteraction phenomena between the various coalitions of criteria. LetN={1, . . . , n} be the set of criteria. A fuzzy measure on N associateswith each A⊂N a number μ(A)⊂[0.1] such that μ(Ø)=0, μ(N)=1 and A⊂N

μ(A)≦μ(B).

We recall here the definition of the Choquet integral:

Let μ be a fuzzy measure on N and u=(u₁, . . . , u_(n)). The Choqueintegral t C_(μ) of the vector u with respect to μ is defined by:${C_{\mu}\left( {u_{1},K,u_{n}} \right)} = {\sum\limits_{i = 1}^{n}{\left( {u_{\sigma{(i)}} - u_{\sigma{({i - 1})}}} \right) \times {\mu\left( A_{\sigma{(i)}} \right)}}}$with0≦u _(σ(1)) ≦K≦u _(σ(n))≦1,A _(σ(i))={σ(i),K,σ(n)},etu _(σ(0))=0.

In the case where the Choquet integral is used as aggregation function,the indicators presented above are therefore the following:

Indicator of maximum utility: χ_(i)(C_(μ)) (u*, {overscore (u)})=C_(μ)(u₁*, . . . , u*_(i−1), {overscore (u)}_(i), u*_(i+1), . . . , u_(n)*).

Indicator of mean utility:${{\omega_{i}\left( C_{\mu} \right)}\left( {u^{*},\overset{\_}{u}} \right)} = {\frac{1}{{\overset{\_}{u}}_{i} - u_{i}^{*}}{\int_{x = u_{i}^{*}}^{{\overset{\_}{u}}_{i}}{{C_{\mu}\left( {u_{1}^{*},K,u_{i - 1}^{*},x,u_{i + 1}^{*},K,u_{n}^{*}} \right)}\quad{{\mathbb{d}x}.}}}}$

According to the definition of its components, the “framework” may beused to implicitly perform a complete traversal of the search tree andmake it possible to find an optimal solution for sure. A search strategyis said to be complete if it makes it possible to find a solution to aproblem when the former exists. Consequently, if a complete search doesnot find a solution, it is because one does not exist. In general asearch is said to be complete when it “does not forget” any solution.

An optimal solution may therefore be said to be found for themulticriterion problem in two cases:

when a solution whose performance with regard to each criterion is equalto the upper bound of the performance of the criterion has been found;

when a monocriterion search having the property of being complete hasnot found any solution of better quality than the solutions found duringprevious searches. (Remark: if no solution had been found previously,then the problem does not admit of a solution).

Likewise, in the MCS context there are two types of incomplete search:

searches whose strategy for traversing the tree are incomplete (alsocalled partial searches);

searches for solutions to problems that are more constrained than theinitial problem.

Typically, if a search which is “overconstrained” by a local constraintdoes not find any solution, it is not possible to conclude that there isno solution to the problem which is better than the solutions foundduring the previous searches. This simply makes it possible to say thatno solution exists which satisfies the constraint set (and possibly todecrease the value of the upper bound of a criterion if the localconstraint was a constraint of improving a criterion). On the otherhand, in the absence of local constraints, the search for the optimum ona criterion, even if we limit the number of solutions found, is acomplete search, since it guarantees that at least one solution to theproblem will be found, if it exists.

We therefore propose a stopping condition and two functions for addinglocal constraints which, associated with complete monocriterion searchstrategies, make it possible to find an optimal solution to the globalproblem.

Let “s*” be the last solution found, “c” the criterion selected by thefunction <getNextCriterion>. The variable “u[c]” models the criterion“c” to be maximized and the function getValue(s*, c) returns theperformance of the solution “s*” for the criterion “c”. The principleproposed is to set just one type of constraint when a criterion “c” hasbeen selected by the function <getNextCriterion>: the constraintu[c]>getValue(s*, c). This constraint is called the constraint ofimprovement of the criterion “c”. Two modes for posing it are proposed:

-   -   A “systematic” mode: the constraint is set at each search.    -   A “consecutive” mode: the constraint is set only when the        criterion “c” has also been selected to guide the previous        search.

When MCS is used with one of the two functions for adding localconstraints above, the function <checkTermination> may be redefined sothat MCS stops only after having found an optical solution. The function“optimalitycondition” below ensures this role in both cases:optimalityCondition(local,s*,s,u,c) if(c = 0) return false else ifcheckUpperBounds(s*,u) return true else if(s = nil) if(local)setConstraint(u[c] ≦ getValue(s*,c)), return false else return trueendif else return false endif end

The case c=0 makes it possible not to satisfy the condition before thefirst iteration. Firstly, the function “checkUpperBounds” verifieswhether the performance of the solution “s*” with regard to eachcriterion is equal to the upper bound of the performance of thecriterion. Otherwise, the variable “local” makes it possible to stop thealgorithm when a search that was not subject to a local constraint doesnot find any solution (a search which does not find any solution returns“nil”). If a search on the criterion “c”, subject to a local constraintreturns “nil”, the function “setConstraint” reduces the upper bound ofthe criterion “c” by posing the constraint u[c]<getValue(s*, c). Byassuming that the function <getNextCriterion> does not select acriterion when the performance of “s*” with regard to this criterion isequal to its upper bound, the algorithm necessarily terminates andreturns an optimal solution. The function “optimalitycondition” alsomakes it possible to find the optimum when no local constraint is set.

More generally, it is noted that the function <checkTermination> islaunched after each search and it may therefore also be used tointroduce new cuts of the search space (for example, to reduce the upperbounds of the criteria).

The Programming by Constraints (PPC) offers a technical context formodeling combinatorial optimization problems. The solution process isbased on the collaboration between a process which constructs a searchtree for the search for solutions and a process which propagates theconstraints of the problem to each node of the tree so as to reduce thesearch space and ensure the validity of the solutions found. In PPC, acertain number of tools have been designed to aid the design ofoptimization algorithms. They allow relatively easy definition of thestrategies for searching for solutions to mono-objective problems. Themodeling of multicriteria preferences is also achievable within thiscontext, in particular by integrating aggregation functions such as theChoquet integral (F. Le Huédé, P. Gérard, M. Grabisch, C. Labreuche andP. Savéant, Integration of a Multicriteria Decision Model in ConstraintProgramming, proceedings of the AIPS'02 Workshop on Planning andScheduling with Multiple Criteria, Toulouse, France, Apr. 23-27, 2002).

PPC is therefore an ideal context for implementing the MCS “framework”,since a large number of tools have already been created for modeling theconstraints of problems and modeling the preferences between thesolutions and the description of the search strategies. With theobjective of facilitating the use of MCS, it will be possible toconstruct a library containing the various instances of the functions ofthe “framework” that are presented in the present description.

In conclusion, the MCS framework makes it possible to constructalgorithms for searching for solutions to a multicriterion optimizationproblem. The principle of the algorithm relies on the alternating ofmonocriteria search strategies for searching for a preferred solutionwithin the sense of a multicriterion preference relation. MCS isdesigned to be able to operate with tools stemming from multicriteriondecision aid which possesses important capabilities for modeling thepreferences of an expert. Hence, various search strategies are used notto exhibit an important set of nondominated solutions, but to acceleratethe convergence of the algorithm towards an optimal solution. Withinthis context, a monocriterion search may take various forms (forexample: following an incomplete strategy, being interrupted as soon asit has found a solution, etc.). Between each search, a criterion isselected by a criterion choice heuristic.

It determines the strategy which will be adopted for the next search forsolutions. This selection makes it possible to determine the criterionwith regard to which there is the greatest benefit in improvement at amoment of the search and of more rapidly finding solutions that are moresatisfactory. The addition of “local” constraints to the varioussearches may also make it possible to accelerate the convergence of thealgorithm to the optimal solution. Finally, the stopping condition ofthe algorithm is defined, thus making it possible to construct partialsearches or to provide proof of the optimality of the last solutionfound.

1. A method for producing solutions to a concrete problem ofmulticriterion optimization according to which several decision criteriaand a preference relation based on these criteria between the solutionsof the problem are established comprising the steps of: modeling theproblem to be solved; obtaining solutions constructively via a treesearch process; establishing a tree search strategy for each criterion;alternating the strategies so as to find solutions of increasingquality; dynamically the strategies choosing as a function of the lastsolution found; the alternation of strategies continues until a stoppingcondition is satisfied; the last solution found before the satisfactionof the stopping condition is exhibited as the solution to the problemset.
 2. The method as claimed in claim 1, wherein the preferencerelation between the solutions of the problem is modeled by anaggregation function (H).
 3. The method as claimed in claim 2, whereinthe aggregation function of the criteria H is a Choquet integral (Cμ).4. The method as claimed in claim 1, wherein following each search, thevalue of an indicator is determined for each criterion as a function ofthe last solution found and that this indicator makes it possible todetermine the strategy which will be used during the next search.
 5. Themethod as claimed in claim 4, wherein the indicator used for the dynamicchoice of a strategy is the indicator of maximum utility (χ_(i)).
 6. Themethod as claimed in claim 4, wherein the indicator used for the dynamicchoice of a strategy is the indicator of mean utility (ω_(i)).
 7. Themethod as claimed in claim 1, wherein local constraints are set on thevarious searches.
 8. The method as claimed in claim 7, wherein the localconstraint set for a search on a criterion is a constraint of improvingthis criterion and that this constraint is set at each search.
 9. Themethod as claimed in claim 7, wherein the local constraint set for asearch on a criterion is a constraint of improving this criterion andthat this constraint is set only when a criterion is selected severaltimes in succession to guide the search, starting from the secondconsecutive search on this criterion.
 10. The method as claimed in claim1, wherein the strategies associated with the various criteria, thelocal constraints on the searches and the stopping condition in thesearch process are used to find an optimal solution to the problem andto prove the optimality of this solution.
 11. The method as claimed inclaim 1, wherein the modeling of the problem and the search forsolutions are carried out in a constraints solver.
 12. The method asclaimed in claim 2, wherein local constraints are set on the varioussearches.
 13. The method as claimed in claim 3, wherein localconstraints are set on the various searches.
 14. The method as claimedin claim 2, wherein the modeling of the problem and the search forsolutions are carried out in a constraints solver.
 15. The method asclaimed in claim 3, wherein the modeling of the problem and the searchfor solutions are carried out in a constraints solver.
 16. The method asclaimed in claim 4, wherein the modeling of the problem and the searchfor solutions are carried out in a constraints solver.
 17. The method asclaimed in claim 5, wherein the modeling of the problem and the searchfor solutions are carried out in a constraints solver.
 18. The method asclaimed in claim 6, wherein the modeling of the problem and the searchfor solutions are carried out in a constraints solver.
 19. The method asclaimed in claim 7, wherein the modeling of the problem and the searchfor solutions are carried out in a constraints solver.
 20. The method asclaimed in claim 8, wherein the modeling of the problem and the searchfor solutions are carried out in a constraints solver.